const errorTypes = require('../constants/error-type')
const errorHandler = (error, ctx) => {
  let status, message;

  switch (error.message) {
    case errorTypes.NAME_OR_PASSWORD_IS_REQUIRED:
      status = 400
      message = "用户名或者密码不能为空"
      break
    case errorTypes.USER_ALREADY_EXISTS:
      status = 409
      message = "用户名已经存在"
      break
    case errorTypes.USER_DOES_NO_EXISTS:
      status = 400
      message = "用户名不存在"
      break;
    case errorTypes.PASSWORD_IS_ERROR:
      status = 400
      message = "登录密码错误"
      break;
    case errorTypes.UNAUTHORIZATION:
      status = 401
      message = "没有权限"
      break;
    case errorTypes.INVALID_TOKEN:
      status = 401
      message = "无效的token"
      break;
    default:
      status = 404;
      message = "NOT FOUND"
  }
  ctx.status = status
  ctx.body = message
}

module.exports = errorHandler